package cn.itsource.extendsdemo;

/**
 *	继承：（设计类）
 *		1. 概念：通过extends关键字可以将父类中的所有非private修饰的成员继承到子类中使用，以达到代码复用的作用
 *				
 *		2. 作用：
 *				代码复用的作用
 *		
 *		3. 使用：
 *				通过extends关键字
 *			语法：
 *				class A{}
 *				class B extends A{}
 *				class C extends B{}
 *				class D extends C{}
 *				
 *			父类、超类、基类、根类
 *			子类、派生类、拓展类
 *
 *		4. 可以从父类中继承哪些成员？
 *			能继承：
 *				实例变量
 *				类变量：虽然可以继承，但是不要用子类对象.类变量调用
 *				实例方法
 *				类方法：虽然可以继承，但是不要用子类对象.类方法调用
 *
 *			不能继承：
 *				局部变量
 *				构造方法
 *				私有化的成员
 *					注意：私有化的成员变量，可以通过从父类继承的公共方法间接访问。
 *
 *			
 *		5. 注意：
 *			1. 父类中只写共性，子类中只写特性
 *
 *		6. 继承特点：重点
 *				1. 单继承，每一个子类只能有一个亲爹
 *				2. 多重继承
 *				3. 隐式继承，每一个类都会直接或者间接继续Object（顶级父类）类
 *
 *		7. 只要子类中有共有的成员，都要通过继承的方式，提高代码复用
 *			
 */
public class Animal {
	String name;//实例变量
	static int age;//类变量
	private boolean sex;//私有化实例变量
	
	public boolean isSex() {
		return sex;
	}

	public void setSex(boolean sex) {
		this.sex = sex;
	}

	public Animal() {
	}
	
	//实例方法
	public void eat(){
		System.out.println("吃。。。。");
	}
	//类方法
	public static void testStatic(){
		System.out.println("测试类方法");
	}
	//私有化实例方法
	private void testPrivate(){
		System.out.println("测试私有化的实例方法");
	}
}
